<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 数值类型  
        // 1. 整数
        // console.log(123,-123,0);
        // // 2. 浮点数
        // console.log(1.23,3.14,-9.99);
        // // 3. 科学计数法

        // console.log(1.23e10,1.23e-10);
        // // 4 . 其它进制
        // // 0b 二进制
        // // 0o\0 八进制 
        // // 0x 0X 十六进制
        // console.log(0xff,0xa5b4c3,0b1010,0o767); 
        // // 转成十进制以后输出 

        // // 5. 正无穷 和负无穷 
        // console.log(Infinity,-Infinity);

        // 6. NaN  Not a Number
        // 先欠着 


        // 字符串类型

        // 1. 单引号
        var str1 = 'hello world';
        // 2. 双引号
        var str2 = "hello world";
        // 3. 反引号
        var str3 = `hello world`;

        var str4 = 'hello   world';
        // alert(str4);
        var str5 = `hello
        
        
        world`;

        // alert(str5);

        // 单引号 双引号 反引号的区别
        // 单引号双引号 不支持换行 必须借助转义字符 
        // 反引号 支持换行  原样输出  

        // 反单引号 可以直接解析变量 

        var name = '张三';

        // alert('我的名字叫name');
        // // ${}  可以解析变量  它里边的表示变量名
        // alert(`我的名字叫${name}`);

        // 练习 自我介绍 
        // 声明4个变量 name age address interesting
        // 我的名字叫张三 我今年18岁 我来自北京 我喜欢吃饭睡觉打豆豆
        // var name = prompt('请输入你的名字');
        // var age = prompt('请输入你的年龄');
        // var address = prompt('请输入你的地址');
        // var interesting = prompt('请输入你的爱好');
        // console.log(`我的名字叫${name} 我今年${age}岁 我来自${address} 我喜欢${interesting}`)


        // 布尔类型
        // 1. true  在内存中存储的是1 真 对
        // 2. false 在内存中存储的是0 假 错 

        // console.log(true+10); // 1+10   11
        // console.log(false+10);// 0+10   10


        // null 和 undefined


        var test;

        console.log(test);
        // 只声明了变量 没有赋值  结果undefined
        // undefined 未定义 表示没有 
        // 本应该有一个值 但是目前没有值 所以叫做undefined

        // null 空 
        // 我们肯定需要一个空箱子 但是放什么东西还没想好 
        // 暂时拿个东西占着位置 以后再放东西 一般用null来占
        // 位置  


        // 字面量  

        // 1. 数值字面量  1  1.23  0xff  0b1010  0o767
        // 2. 字符串字面量 'hello'  "hello"  `hello`
        // 3. 布尔字面量  true  false
        // 4. null字面量  null
        // 5. undefined字面量  undefined


        // 数字的范围  


        // alert(Number.MAX_VALUE); // 注意大小写
        // alert(Number.MIN_VALUE); // 注意大小写
        // alert(Number.MAX_VALUE*2); // Infinity
        // alert(-Number.MAX_VALUE*2);// -Infinity

        // NaN  Not a Number  非数字
        // isNaN()  判断一个值是否是NaN  非数字
        console.log(isNaN(666)); // 666 是数字  所以结果是false
        console.log(isNaN('test')); // test 不是数字  所以结果是true
        
    
    </script>   
</body>
</html>